package org.fzkj.rpc.core.protocol;

import java.io.Serializable;

/**
 * rpc框架请求协议，由于会在网络中传输，所以必须序列化
 */
public class RequestProtocol implements Serializable {
    /**
     * 接口全名称
     */
    private String interfaceClassName;


    /**
     * 方法名称
     */
    private String methodName;

    /**
     * 参数类型列表
     */
    private Class<?>[] parameterType;

    /**
     * 参数值列表
     */
    private Object[] parameterValues;

    public RequestProtocol(String interfaceClassName, String methodName, Class<?>[] parameterType, Object[] parameterValue) {
        this.interfaceClassName = interfaceClassName;
        this.methodName = methodName;
        this.parameterType = parameterType;
        this.parameterValues = parameterValue;
    }

    public String getInterfaceClassName() {
        return interfaceClassName;
    }

    public void setInterfaceClassName(String interfaceClassName) {
        this.interfaceClassName = interfaceClassName;
    }

    public String getMethodName() {
        return methodName;
    }

    public void setMethodName(String methodName) {
        this.methodName = methodName;
    }

    public Class<?>[] getParameterType() {
        return parameterType;
    }

    public void setParameterType(Class<?>[] parameterType) {
        this.parameterType = parameterType;
    }

    public Object[] getParameterValues() {
        return parameterValues;
    }

    public void setParameterValues(Object[] parameterValues) {
        this.parameterValues = parameterValues;
    }
}
